Automated endoscope system for optimal positioning

ABSTRACT

A robotic system that moves a surgical instrument in response to the actuation of a control panel that can be operated by the surgeon. The robotic system has an end effector that is adapted to hold a surgical instrument such as an endoscope. The end effector is coupled to a robotic arm assembly which can move the endoscope relative to the patient. The system includes a computer which controls the movement of the robotic arm in response to input signals received from the control panel. The robotic system is mounted to a cart which can be wheeled to and from an operating table. The cart has a clamping mechanism which attaches the cart to the table. The system also contains a spring loaded mount plate that allows the robotic arm to be rotated and adjusted relative to the cart and the patient. Both the robotic arm and the control panel are encapsulated by protective bags that prevent the system from being contaminated.

RELATION TO PREVIOUSLY FILED APPLICATIONS

[0001] This application is a continuation application of U.S. patent application Ser. No. 08/481,926 filed on Jun. 6, 1995 and which is currently pending, which is a continuation application of U.S. patent application Ser. No. 08/167,704, filed on Dec. 15, 1993, now abandoned, which is a Continuation of U.S. patent application Ser. No. 08/072,982 filed on Jun. 3, 1993, now issued, which is a continuation-in-part of U.S. patent application Ser. No. 08/005,604 filed Jan. 19, 1993, now abandoned, which was a Continuation-in-Part of U.S. patent application Ser. No. 07/927,801, filed Aug. 10, 1992, now abandoned.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates to a robotic system for remotely controlling the position of a surgical instrument.

[0004] 2. Description of Related Art

[0005] Endoscopes typically contain a lens that is coupled to a visual display by a fiber optic cable. Such a system allows the user to remotely view an image in front of the scope. Endoscopes are commonly used in a surgical procedure known as laparoscopy, which involves inserting the endoscope into the patient through a small incision in the abdomen. The endoscope allows the surgeon to internally view the patient without being in a direct line of sight with the object. The use of an endoscope typically reduces the size of the incision needed to perform a surgical procedure.

[0006] Endoscopes are commonly used to assist the surgeon in removing the gall bladder of a patient. Because the surgeon typically requires both hands to remove a gall bladder, the endoscope must be held and operated by a assistant. During the surgical procedure, the surgeon must frequently instruct the assistant to move the endoscope within the patient. Such a method can be time consuming as the surgeon may have to relay a series of instructions until the assistant has positioned the endoscope in the proper location. Additionally, the assistant may be unable to consistently hold the instrument in a fixed position, resulting in a moving image. This is particularly true for surgical procedures that extend over a long period of time.

[0007] There is presently a system marketed by Leonard Medical Inc. which mechanically holds an endoscope. The Leonard Medical system is an articulated mechanism which has a plurality of pneumatically powered joints that hold the endoscope in a fixed position. To move the endoscope, the pneumatic powered joints must be initially released into a relaxed condition. The surgeon or assistant then moves the scope and reactivates the pneumatic system. Although the Leonard system holds the endoscope in one position, the system requires the surgeon or assistant to constantly deactivate/activate the pneumatics and manually move the scope. Such a system interrupts the surgery process and increases the time of the surgical procedure. It would be desirable to provide a system that allows the surgeon to directly and efficiently control the movement of an endoscope.

SUMMARY OF THE INVENTION

[0008] The present invention is a robotic system that moves a surgical instrument in response to the actuation of a control panel that can be operated by the surgeon. The robotic system has an end effector that is adapted to hold a surgical instrument such as an endoscope. The end effector is coupled to a robotic arm assembly which can move the endoscope relative to the patient. The system includes a computer which controls the movement of the robotic arm in response to input signals from the control panel.

[0009] The robotic system is mounted to a cart which can be wheeled to and from an operating table. The cart has a clamping mechanism which attaches the cart to the table. The system also contains a spring loaded mount plate that allows the robotic arm to be rotated and adjusted relative to the cart and the patient. Both the robotic arm and the control panel are encapsulated by protective bags that prevent the system from being contaminated. The bags are removable and allow the system to be reused without having to scrub and decontaminate the arm or control panel.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The objects and advantages of the present invention will become more readily apparent to those ordinarily skilled in the art after reviewing the following detailed description and accompanying drawings, wherein:

[0011]FIG. 1 is a side view of a robotic system of the present invention;

[0012]FIG. 2 is a top view of the robotic system of FIG. 1;

[0013]FIG. 3 is a top view of an end effector used to hold an endoscope;

[0014]FIG. 4 is a top view of a foot pedal of the system of FIG. 1;

[0015]FIG. 5 is a cross-sectional view of the foot pedal of FIG. 4;

[0016]FIG. 6 is a schematic of a computer of the robotic system shown in FIG. 1;

[0017]FIG. 7 is a schematic of the endoscope oriented in a second coordinate system;

[0018]FIG. 8 is a flowchart showing the operation of the system;

[0019]FIG. 9 is a graph showing the incremental movement of the robotic arm assembly;

[0020]FIG. 10 is a cross-sectional view of the robotic arm assembly showing actuators coupled to clutch and drive train assemblies;

[0021]FIG. 11 is a side view of the system showing a protective sterile bag which encapsulates the robotic arm assembly;

[0022]FIG. 11a is a top view of a protective sterile bag which encapsulates a hand held control pad of the robotic arm assembly;

[0023]FIG. 12 is a cross-sectional view of an alternate embodiment of the end effector;

[0024]FIG. 13 is a perspective view of an alternate embodiment of an end effector which has a worm gear that is operatively coupled to the surgical instrument;

[0025]FIG. 14 is a perspective view of an alternate embodiment of a robotic system which incorporates the worm gear joint of FIG. 13;

[0026]FIG. 15 is a schematic of a surgical instrument that defines a third coordinate system located within a fourth fixed coordinate system;

[0027]FIG. 16 is a schematic of the surgical instrument being moved relative to a pivot point;

[0028]FIG. 17 is a perspective view showing the robotic arm assembly mounted to a cart and a mounting assembly;

[0029]FIG. 18 is a front perspective view showing the robotic arm assembly mounted to the mounting assembly;

[0030]FIG. 19 is an exploded view of a clamping assembly which clamps the robotic arm assembly to an operating table;

[0031]FIG. 20 is a partially exploded view showing the robotic arm assembly coupled to the mounting assembly;

[0032]FIG. 21 is a cross-sectional view of the mounting plate attached to the linear actuator of the robotic arm;

[0033]FIG. 22 is a side view showing the clamping mechanism in an open position;

[0034]FIG. 23 is a side view showing the clamping mechanism in a closed position;

[0035]FIG. 24 is an exploded view of an alternate embodiment of the clamping mechanism;

[0036]FIG. 25 is a cross-sectional view of a detent portion of a handle;

[0037]FIG. 26 is a cross-sectional view of the handle;

[0038]FIG. 27 is a front view of the alternate clamping mechanism;

[0039]FIG. 28 is a cross-sectional view taken at line 28-28 of FIG. 27.

DETAILED DESCRIPTION OF THE INVENTION

[0040] Referring to the drawings more particularly by reference numbers, FIGS. 1 and 2 show a robotic system 10 of the present invention. The system 10 is typically used in a sterile operating room where a surgeon (not shown) performs a surgical procedure on a patient 12. The patient 12 is placed on a operating table 14. Attached to the table 14 is a robotic arm assembly 16 which can move a surgical instrument 18 relative to the table 14 and the patient 12. The surgical instrument 18 is typically an endoscope which is inserted into the abdomen of the patient 12. The endoscope 18 enters the patient through cannula, wherein the scope 18 rotate about a cannula pivot point. The endoscope is typically connected to a display screen (not shown) which allows the surgeon to view the organs, etc. of the patient. Although an endoscope is described and shown, it is to be understood that the present invention can be used with other surgical instruments.

[0041] The system 10 has a computer 20 that is connected to the robotic arm assembly 16 and a foot pedal 22. The foot pedal 22 is located in close proximity to the operating table 14, so that the surgeon can operate the foot pedal 22 while performing a surgical procedure. The system 10 is constructed so that the surgeon can move the surgical instrument 18 by merely depressing the foot pedal 22.

[0042] The robotic arm assembly 16 includes a linear actuator 24 fixed to the table 14. The linear actuator 24 is connected to a linkage arm assembly 26 and adapted to move the linkage assembly 26 along the z axis of a first coordinate system. As shown in FIG. 2, the first coordinate system also has an x axis and a y axis. The linear actuator 24 preferably has an electric motor which turns a ball screw that moves the output shaft of the actuator.

[0043] The linkage arm assembly 26 includes a first linkage arm 28 attached to a first rotary actuator 30 and an end effector 32. The first rotary actuator 30 is adapted to rotate the first linkage arm 28 and end effector 32 in a plane perpendicular to the z axis (x-y plane). The first rotary actuator 30 is connected to a second rotary actuator 34 by a second linkage arm 36. The second actuator 34 is adapted to rotate the first actuator 30 in the x-y plane. The second rotary actuator 34 is connected to a third rotary actuator 38 by a third linkage arm 40. The third rotary actuator 38 is connected to the output shaft of the linear actuator 24 and adapted to rotate the second rotary actuator 34 in the x-y plane. The rotary actuators are preferably electric motors with output shafts attached to the respective linkage arms. The actuators 30, 34 and 38 preferably have gear reduction boxes to increase the torque at the linkage arms relative to the electric motors. The electric motors of the actuators 24, 30, 34 and 38 rotate in response to output signals provided by the computer 20.

[0044] As shown in FIG. 3, the end effector 32 has a clamp 42 which can grasp and hold the endoscope 18. The clamp 42 may be constructed as a wire with a loop that has a diameter smaller than the outside diameter of the scope 18. The clamp 42 allows the scope to be easily attached to and removed from the robotic arm assembly 16. Although a simple wire clamp is shown and described, it is to be understood that the end effector 32 may have any means required to secure the surgical instrument 18. As shown in FIGS. 1 and 2, the junction of the endoscope 18 and the end effector 32 define a second coordinate system which has an x′ axis, a y′ axis and a z′ axis. The junction of the end effector 32 and endoscope 18 also define the origin of a third coordinate system which has a x″ axis, a y″ axis and a z″ axis that is parallel with the longitudinal axis of the endoscope 18.

[0045] The end effector 32 has a shaft 44 which can be coupled to the first linkage arm 28. The first linkage arm 28 may have a bearing which allows the end effector 32 to rotate about the longitudinal axis of the arm 28. The end effector 32 may be constructed so that the clamp 42 and scope 18 can rotate about the y′ axis. The end effector 32 is preferably constructed to be detached from the first linkage arm 28, so that a sterile instrument can be used for each surgical procedure. The robotic system 10 may also have a bag or cover to encapsulate the robotic arm assembly 16 to keep the assembly 16 sterile.

[0046] The actuators 24, 30, 34 and 38 may each have position sensors 46-52 that are connected to the computer 20. The sensors may be potentiometers that can sense the rotational movement of the electric motors and provide feedback signals to the computer 20. The end effector 32 may also have a first joint position sensor 54 that senses the angular displacement of the effector about the x′ axis and a second joint position sensor 55 which senses the angular displace of the scope about the y′ axis.

[0047]FIGS. 4 and 5 show a preferred embodiment of the foot pedal 22. The foot pedal 22 has a housing 56 that supports a first foot switch 58 and a second foot switch 60. The first foot switch 58 has a first pressure transducer 62 and a second pressure transducer 64. The second foot switch 60 has third 66, fourth 68, fifth 70 and sixth 72 pressure transducers. The transducers are each connected to a corresponding operational amplifier that provides a voltage input to the computer 20. The pressure transducers 62-72 are constructed so that the resistance of each transducer decreases as the surgeon increases the pressure on the foot switches. Such a transducer is sold by Interlink Electronics. The decreasing transducer resistance increases the input voltage provided to the computer 20 from the operational amplifier. Each transducer corresponds to a predetermined direction in the third coordinate system. In the preferred embodiment, the first pressure transducer 62 corresponds to moving the endoscope toward the image viewed by the surgeon. The second transducer 64 moves the scope away from the image. The third 66 and fourth 68 transducers move the scope 18 “up” and “down”, respectively, and the fifth 70 and sixth 72 transducers move the scope 18 “left” and “right”, respectively.

[0048]FIG. 6 shows a schematic of the computer 20. The computer 20 has a multiplexer 74 which is connected to the pressure transducers and the position sensors. In the preferred embodiment, the multiplexer 74 has 12 channels, one channel for each sensor and transducer. The multiplexer 74 is connected to a single analog to digital (A/D) converter 76.

[0049] The computer also has a processor 78 and memory 80. The A/D converter 76 is constructed so that the converter can provide the processor 78 with a binary string for each voltage level received from the input signals of the system. By way of example, the transducers may provide a voltage ranging between −10 to 10 volts (V) and the converter 76 may output a different 12 bit binary string for each voltage level. An input signal of 1.0 V may correspond to the binary string 000011001010, 2.0 V may correspond to 000111010100 and so forth and so on.

[0050] The processor 78 is connected to an address decoder 82 and four separate digital to analog (D/A) converters 84. Each D/A converter is connected to an actuator 26, 30, 34 or 38. The D/A converters 84 provide analog output signals to the actuators in response to output signals received from the processor 78. The analog output signals preferably have a sufficient voltage level to energize the electric motors and move the robotic arm assembly. The D/A converters 84 may be constructed so that a binary 1 from the processor produces an analog output signal that drives the motors. In such an embodiment, the motors are energized for as long as the processor provides a binary 1 output signal. The decoder 82 correlates the addresses provided by the processor with a corresponding D/A converter, so that the correct motor(s) is driven. The address decoder 82 also provides an address for the input data from the A/D converter so that the data is associated with the correct input channel.

[0051] The processor 78 computes the movement of the robotic arm assembly 16 in accordance with the following equations. $\begin{matrix} \begin{matrix} {{a\quad 3} = {\pi - {\cos^{- 1}\left( \frac{\left( {x - {L\quad 3{\cos (\pi)}}} \right)^{2} + \left( {y - {L\quad 3{\sin (\pi)}}} \right)^{2} - {L\quad 1^{2}} - {L\quad 2^{2}}}{2L\quad 1L\quad 2} \right)}}} \\ {\Delta = {\cos^{- 1}\left( \frac{\left( {x - {L\quad 3{\cos (\pi)}}} \right)^{2} + \left( {y - {L\quad 3{\sin (\pi)}}} \right)^{2} - {L\quad 1^{2}} - {L\quad 2^{2}}}{2L\quad 1\sqrt{\left( {x - {L\quad 3{\cos (\pi)}}} \right)^{2} + \left( {y - {L\quad 3{\sin (\pi)}}} \right)^{2}}} \right)}} \\ {{a\quad 0} = {\tan^{- 1}2\left( \frac{y - {L\quad 3{\sin (\pi)}}}{x - {L\quad 3{\sin (\pi)}}} \right)}} \\ {{a\quad 2} = {{a\quad 0} + 1 - \Delta}} \\ {{a\quad 4} = {\pi - {a\quad 2} - {a\quad 3}}} \end{matrix} & (1) \end{matrix}$

[0052] where;

[0053] a2=angle between the third linkage arm and the x axis.

[0054] a3=angle between the second linkage arm and the longitudinal axis of the third linkage arm.

[0055] a4=angle between the first linkage arm and the longitudinal axis of the second linkage arm.

[0056] L1=length of the third linkage arm.

[0057] L2=length of the second linkage arm.

[0058] L3=length of the first linkage arm.

[0059] π=the angle between the first linkage arm and the x′ axis of the second coordinate system.

[0060] x=x coordinate of the end effector in the first coordinate system.

[0061] y=y coordinate of the end effector in the first coordinate system.

[0062] To move the end effector to a new location of the x-y plane the processor 78 computes the change in angles a2, a3 and a4, and then provides output signals to move the actuators accordingly. The original angular position of the end effector is provided to the processor 78 by the sensors 46-55. The processor moves the linkage arms an angle that corresponds to the difference between the new location and the original location of the end effector. A differential angle Δa2 corresponds to the amount of angular displacement provided by the third actuator 38, a differential angle Δa3 corresponds to the amount of angular displacement provided by the second actuator 34 and a differential angle Δa4 corresponds to the amount of angular displacement provided by the first actuator 30.

[0063] To improve the effectiveness of the system 10, the system is constructed so that the movement of the surgical instrument as seen by the surgeon, is always in the same direction as the movement of the foot pedal. Thus when the surgeon presses the foot switch to move the scope up, the scope always appears to move in the up direction. To accomplish this result, the processor 78 converts the desired movement of the end of the endoscope in the third coordinate system to coordinates in the second coordinate system, and then converts the coordinates of the second coordinate system into the coordinates of the first coordinate system.

[0064] The desired movement of the endoscope is converted from the third coordinate system to the second coordinate system by using the following transformation matrix; $\begin{matrix} {\begin{pmatrix} {\Delta \quad x^{\prime}} \\ {\Delta \quad y^{\prime}} \\ {\Delta \quad z^{\prime}} \end{pmatrix} = {\begin{pmatrix} {\cos \left( {a\quad 6} \right)} & 0 & {- {\sin \left( {a\quad 6} \right)}} \\ {{- {\sin \left( {a\quad 5} \right)}}{\sin \left( {a\quad 6} \right)}} & {\cos \left( {a\quad 5} \right)} & {{- {\sin \left( {a\quad 5} \right)}}{\cos \left( {a\quad 6} \right)}} \\ {{\cos \left( {a\quad 5} \right)}{\sin \left( {a\quad 6} \right)}} & {\sin \left( {a\quad 5} \right)} & {{\cos \left( {a\quad 5} \right)}{\cos \left( {a\quad 6} \right)}} \end{pmatrix}\begin{pmatrix} {\Delta \quad x^{''}} \\ {\Delta \quad y^{''}} \\ {\Delta \quad z^{''}} \end{pmatrix}}} & (2) \end{matrix}$

[0065] where;

[0066] Δx″=the desired incremental movement of the scope along the x″ axis of the third coordinate system.

[0067] Δy″=the desired incremental movement of the scope along the y″ axis of the third coordinate system.

[0068] Δz″=the desired incremental movement of the scope along the z″ axis of the third coordinate system.

[0069] a5=the angle between the z′ axis and the scope in the y′-z′ plane.

[0070] a6=the angle between the z′ axis and the scope in the x′-z′ plane.

[0071] Δx′=the computed incremental movement of the scope along the x′ axis of the second coordinate system.

[0072] Δy′=the computed incremental movement of the scope along the y′ axis of the second coordinate system.

[0073] Δz′=the computed incremental movement of the scope along the z′ axis of the second coordinate system.

[0074] The angles a5 and a6 are provided by the first 54 and second 55 joint position sensors located on the end effector 32. The angles a5 and a6 are shown in FIG. 7.

[0075] The desired movement of the endoscope is converted from the second coordinate system to the first coordinate system by using the following transformation matrix; $\begin{matrix} {\begin{pmatrix} {\Delta \quad x} \\ {\Delta \quad y} \\ {\Delta \quad z} \end{pmatrix} = {\begin{pmatrix} {\cos (\pi)} & {- {\sin (\pi)}} & 0 \\ {\sin (\pi)} & {\cos (\pi)} & 0 \\ 0 & 0 & 1 \end{pmatrix}\begin{pmatrix} {\Delta \quad x^{\prime}} \\ {\Delta \quad y^{\prime}} \\ {\Delta \quad z^{\prime}} \end{pmatrix}}} & (3) \end{matrix}$

[0076] where;

[0077] Δx′=the computed incremental movement of the scope along the x′ axis of the second coordinate system.

[0078] Δy′=the computed incremental movement of the scope along the y′ axis of the second coordinate system.

[0079] Δz′=the computed incremental movement of the scope along the z′ axis of the second coordinate system.

[0080] π=is the angle between the first linkage arm and the x axis of the first coordinate system.

[0081] Δx=the computed incremental movement of the scope along the x axis of the first coordinate system.

[0082] Δy=the computed incremental movement of the scope along the y axis of the first coordinate system.

[0083] Δz=the computed incremental movement of the scope along the z axis of the first coordinate system.

[0084] The incremental movements Δx and Δy are inserted into the algorithms (1) described above for computing the angular movements (Δa2, Δa3 and Δa4) of the robotic arm assembly to determine the amount of rotation that is to be provided by each electric motor. The value Δz is used to determine the amount of linear movement provided by the linear actuator 26.

[0085] After each movement of the endoscope a new π value must be computed to be used in the next incremental movement of the scope. The scope is typically always in the y′-z′ plane, therefore the π value only changes when the end effector is moved along the y′ axis. The new π angle can be computed with the following equations: $d = {\frac{m}{\tan \left( {a\quad 6} \right)}}$

 r=|d sin(a 5)|  (4)

[0086] ${\Delta\pi} = {\tan^{- 1}\frac{m}{r}}$

[0087] where;

[0088] d=the length of the endoscope between the end effector and the cannula pivot point.

[0089] r=the distance along the y′ axis between the end effector and the cannula pivot point.

[0090] m=the incremental movement of the scope.

[0091] The new π value is computed and stored in the memory of the computer for further computation.

[0092]FIG. 8 shows a flowchart of a program used to operate the system. The computer 20 initially computes the location of the end effector 32 with the input provided by the sensors 46-55. When the surgeon presses on one of the foot switches, the pedal provides an input signal to the computer. For example, the surgeon may want a closer look at an object in front of the endoscope. The surgeon then presses the top of the first foot switch, depressing the first transducer and providing an input signal to the computer. The input signal is converted into a 12 bit binary string which is received by the processor. The 12 bit string corresponds to a predetermined increment of Δz″. The computer is constantly sampling the foot pedal, wherein each sample corresponds to a predetermined increment in the corresponding axis″. If the surgeon holds down the foot pedal during two sampling periods then the increment to be moved is 2×Δz″. The converter also provides a multiplication factor for each increase in voltage level received from the amplifier of the transducer, so that the increments are increased for each increase in voltage. Thus the surgeon can increase the amount of incremental movement by increasing the pressure on the foot switch.

[0093] The processor 78 then determines the new coordinates in the third coordinate system. The incremental movements in the third coordinate system (Δx″, Δy″ and Δz″) are used to compute the increment movements in the second coordinate system (Δx′, Δy′ and Δz′) and the coordinates in the first coordinate system (Δx, Δy and Δz). The incremental movements are then used to determine the change in the angles a2, a3 and a4, and the linear movement of actuator 24. The computer provides output signals to the appropriate electric motors to move the robotic arm assembly to the new position. The new π angle is computed and the process is repeated. The present invention thus allows the surgeon to remotely move a surgical instrument in a manner that directly correlates with the viewing image seen through the endoscope.

[0094] In the preferred embodiment, the system moves the end effector 32 so that the endoscope is always aligned in the same orientation relative to the patient. This is accomplished by moving the end effector so that the angle a6 is always equal to zero. Thus after each independent movement of the endoscope, the angle a6 is sensed by the sensor 55. If the angle a6 is not equal to zero, the processor moves the end effector in accordance with the following subroutine.

[0095] If a6>zero then the end effector is moved an increment equal to:

Δπ=π+constant

[0096] If a6<zero then the end effector is moved an increment equal to:

Δπ=π−constant

[0097] where;

[0098] Δπ=the incremental angular movement of the end effector.

[0099] π=the preceding angle π.

[0100] constant=some predetermined incremental angular movement of the end effector.

[0101] The processor moves the end effector in accordance with the above described subroutine until the angle a6 is equal to zero. The new π angle is then stored and used for further computation. Maintaining the angle a6 at zero insures that the view seen by the surgeon is in the same orientation for all end effector positions.

[0102] As shown in FIG. 10, each linkage arm 28, 36 or 80 is preferably coupled to a first helical gear 92. The first helical gear 92 is mated with a second helical gear 94 that is coupled to an actuator 30, 34 or 38 by a clutch 96. The clutches 96 are preferably constructed from magnetic plates that are coupled together when power is supplied to the clutches. When power is terminated, the clutches 96 are disengaged and the actuators are decoupled from the drive shafts such that the linkage arms can be manually moved by the operator. Power is supplied to the clutches 96 through a switch 98 which can be operated by the surgeon. The clutches allow the surgeon to disengage the actuators and manually move the position of the endoscope.

[0103] As shown in FIG. 6, the system may have a lever actuated input device 100 that is commonly referred to as a “joystick”. The input device 100 can be used in the same manner as the foot pedal, wherein the operator can move the endoscope by moving the lever 102 of the device 100. The device 100 may also have a plurality of memory buttons 104 that can be manipulated by the operator. The memory buttons 104 are coupled to the processor of the computer. The memory buttons 104 include save buttons 106 and recall buttons 108. When the save button 106 is depressed, the coordinates of the end effector in the first coordinate system are saved in a dedicated address(es) of the computer memory. When a recall button 108 is pushed, the processor retrieves the data stored in memory and moves the end effector to the coordinates of the effector when the save button was pushed.

[0104] The save memory buttons allow the operator to store the coordinates of the end effector in a first position, move the end effector to a second position and then return to the first position with the push of a button. By way of example, the surgeon may take a wide eye view of the patient from a predetermined location and store the coordinates of that location in memory. Subsequently, the surgeon may manipulate the endoscope to enter cavities, etc. which provide a more narrow view. The surgeon can rapidly move back to the wide eye view by merely depressing the recall button of the system. Additionally, the last position of the endoscope before the depression of the recall button can be stored so that the surgeon can again return to this position.

[0105] As shown in FIG. 9, the system is preferably moved during the recall cycle in a ramping fashion so that there is not any sudden movement of the linkage arm assembly. Instead of a purely linear movement of the actuators to move the end effector from point A to point B, the processor would preferably move the linkage arm assembly in accordance with the following equation.

θ(t)=(1−t)²(θ₀+(2θ₀+{dot over (θ)}₀)t)+t ²(θ₁+(2θ₁+{dot over (θ)}₁)(1−t))

[0106] where;

[0107] t=time

[0108] θ₀=the initial position of the end effector.

[0109] θ₁=the final position of the end effector.

[0110] {dot over (θ)}₀=the velocity of the end effector at position θ₀.

[0111] {dot over (θ)}₁=the velocity of the end effector at position θ₁.

[0112] By moving each actuator in accordance with the above described algorithm, the linkage arm assembly movement will gradually increase and then gradually decrease as the arm leaves and approaches the original and final positions, respectively. Moving the arm in accordance with the above described equation produces low initial and final arm acceleration values. The gradually increasing and decreasing movement of the arm prevents any abrupt or sudden movement of the arm assembly.

[0113] As shown in FIG. 11, the robotic arm assembly is preferably encapsulated by a bag 110. The bag 110 isolates the arm assembly 26 so that the arm does not contaminate the sterile field of the operating room. The bag 110 can be constructed from any material suitable to maintain the sterility of the room. The bag 110 may have fastening means such as a hook and loop material or a zipper which allows the bag to be periodically removed and replaced after each operating procedure.

[0114] As shown in FIG. 11a, the assembly may have a hand held control device 112 which has buttons 114 that allow the surgeon to control the movement of the end effector in the same manner as the foot pedal described and shown in FIGS. 4 and 5. The control device 112 is also encapsulated by a protective bag 116. The bag 116 is preferably constructed from a material which is both transparent and flexible enough to allow the surgeon to depress the buttons 114. In the preferred embodiment, the bag 116 is constructed from a 0.002 inch polyethylene. The protective bag 116 may have various fastening means to allow the bag 116 to be removed and replaced after each surgical procedure. The application of the bags 110 and 116 allow the assembly to be reused without any scrubbing or sterilization of the equipment.

[0115]FIG. 12 shows an alternate embodiment of an end effector 120. The end effector 120 has a magnet 122 which holds a metal collar 124 that is coupled to the endoscope 18. The collar 124 has a center aperture 126 which receives the endoscope 18 and a pair of arms 128 which together with screw 130 capture the scope 18. The collar 124 is constructed to fit within a channel 132 located in the end effector 120. The magnet 122 is typically strong enough to hold the endoscope during movement of the linkage arm, yet weak enough to allow the operator to pull the collar and scope away from the end effector.

[0116]FIG. 13 shows a preferred embodiment of an end effector 140 that couples the surgical instrument 142 to a robotic system 144. The end effector 140 has a collar holder 146 which can capture a collar 148 that is attached to the instrument 142. The collar 148 has a lip 150 which is supported by the base of the collar holder 146 when the instrument 142 is coupled to the robotic assembly 144. The collar 148 has a bearing 152 that is fastened to the instrument 142 and which has gear teeth 153 that mesh with a worm gear 154 incorporated into the end effector 140. The worm gear 154 is typically connected to an electric motor (not shown) which can rotate the gear 154 and spin the instrument 142 about its longitudinal axis.

[0117] The end effector 140 is preferably utilized in a robotic system schematically shown in FIG. 14. The worm gear replaces the first actuator 30 of the robotic system shown in FIG. 1. The passive joints 156 and 158 allow the same degrees of freedom provided by the passive joints depicted in FIG. 3. The joints 156 and 158 are shown separately for purposes of clarity, it being understood that the joints may be physically located within the end effector 140.

[0118] The surgical instrument is typically coupled to a camera (not shown) and a viewing screen (not shown) such that any spinning of the instrument about its own longitudinal axis will result in a corresponding rotation of the image on the viewing screen. Rotation of the instrument and viewing image may disorient the viewer. It is therefore desirable to maintain the orientation of the viewing image.

[0119] In the embodiment shown in FIG. 1, the robotic assembly moves the instrument in accordance with a set of algorithms that maintain the angle a6 at a value of zero. This is accomplished by computing a new angle a6 after each movement and then moving the instrument so that a6 is equal to zero. Depending upon the location of the end effector, moving the instrument to zero a6 may require energizing some or all of the actuators, thus necessitating the computation of the angles a2, a3 and a4. Using the worm gear 154 of the end effector 140, the proper orientation of the viewing image can be maintained by merely rotating the worm gear 154 and scope 142 a calculated angle about the longitudinal axis of the instrument 142.

[0120] As shown in FIG. 15, the endoscope 142 is oriented within a fixed fourth coordinate system that has a z axis that is parallel with the z axis of the first coordinate system shown in FIG. 1. The origin of the fourth coordinate system is the intersection of the instrument and the end effector. For purposes of providing reference points, the instrument is initially in a first position and moved to a second position. The endoscope 142 itself defines the third coordinate system, wherein the z″ axis coincides with the longitudinal axis of the instrument 142. To insure proper orientation of the endoscope 142, the worm gear 154 rotates the instrument 142 about its longitudinal axis an amount A06 to insure that the y″ axis is oriented in the most vertical direction within the fixed coordinate system. Δθ6 is computed from the following cross-products.

Δθ6=zi″×(yo″×yi″)

[0121] where;

[0122] Δθ6=the angle that the instrument is to be rotated about the z″ axis.

[0123] yo″=is the vector orientation of the y″ axis when the instrument is in the first position.

[0124] yi″=is the vector orientation of the y″ axis when the instrument is in the second position.

[0125] zi″=is the vector orientation of the z″ axis when the instrument is in the second position.

[0126] The vectors of the yi″ and zi″ axis are computed with the following algorithms. $\left\lbrack {z\quad i^{''}} \right\rbrack = {\begin{bmatrix} {\cos \quad \Theta_{5}} & 0 & {{- \sin}\quad \Theta_{5}} \\ {{- \sin}\quad \Theta_{4}\sin \quad \Theta_{5}} & {\cos \quad \Theta_{4}} & {{- \sin}\quad \Theta_{4}\cos \quad \Theta_{5}} \\ {\cos \quad \Theta_{4}\sin \quad \Theta_{5}} & {\sin \quad \Theta_{4}} & {\cos \quad \Theta_{4}\cos \quad \Theta_{5}} \end{bmatrix}\begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}}$

 xi″=z×zi″

yi″=zi″×xi″

[0127] where;

[0128] Θ4=is the angle between the instrument and the z axis in the y-z plane.

[0129] Θ5=is the angle between the instrument and the z axis in the x-z plane.

[0130] z=is the unit vector of the z axis in the first coordinate system.

[0131] The angles Θ4 and Θ5 are provided by the joint position sensors coupled to the joints 156 and 158. The vector yo″ is computed using the angles Θ4 and Θ5 of the instrument in the original or first position. For the computation of yi″ the angles Θ4 and Θ5 of the second position are used in the transformation matrix. After each arm movement yo″ is set to yi″ and a new yi″ vector and corresponding Δθ6 angle are computed and used to re-orient the endoscope. Using the above described algorithms, the worm gear continuously rotates the instrument about its longitudinal axis to insure that the pivotal movement of the endoscope does not cause a corresponding rotation of the viewing image.

[0132] When the surgical instrument is initially inserted into the patient the exact location of the pivot point of the instrument is unknown. It is desirable to compute the pivot point to determine the amount of robotic movement required to move the lens portion of the scope. Accurate movement of the end effector and the opposite lens portion of the instrument can be provided by knowing the pivot point and the distance between the pivot point and the end effector. The pivot point location can also be used to insure that the base of the instrument is not pushed into the patient, and to prevent the instrument from being pulled out of the patient.

[0133] The pivot point of the instrument is calculated by initially determining the original position of the intersection of the end effector and the instrument PO, and the unit vector Uo which has the same orientation as the instrument. The position P(x, y, z) values can be derived from the various position sensors of the robotic assembly described above. The unit vector Uo is computed by the transformation matrix: ${Uo} = {\begin{bmatrix} {\cos \quad \Theta_{5}} & 0 & {{- \sin}\quad \Theta_{5}} \\ {{- \sin}\quad \Theta_{4}\sin \quad \Theta_{5}} & {\cos \quad \Theta_{4}} & {{- \sin}\quad \Theta_{4}\cos \quad \Theta_{5}\Theta_{5}} \\ {\cos \quad \Theta_{4}\sin \quad \Theta_{5}} & {\sin \quad \Theta_{4}} & {\cos \quad \Theta_{4}} \end{bmatrix}\begin{bmatrix} 0 \\ 0 \\ {- 1} \end{bmatrix}}$

[0134] After each movement of the end effector an angular movement of the instrument Δθ is computed by taking the arcsin of the cross-product of the first and second unit vectors Uo and U1 of the instrument in accordance with the following line equations Lo and L1.

Δθ=arcsin(|T|)

T=Uo×U 1

[0135] where;

[0136] T=a vector which is a cross-product of unit vectors Uo and U1.

[0137] The unit vector of the new instrument position U1 is again determined using the positions sensors and the transformation matrix described above. If the angle Δθ is greater than a threshold value, then a new pivot point is calculated and Uo is set to U1. As shown in FIG. 16, the first and second instrument orientations can be defined by the line equations Lo and L1:

[0138] Lo:

xo=M _(x) 0·Zo+Cxo

yo=M _(y)o·Zo+Cyo

[0139] L1:

x 1=Mx 1·Z 1+Cx 1

y 1=My 1·Z 1+Cy 1

[0140] where;

[0141] Zo=a Z coordinate along the line Lo relative to the z axis of the first coordinate system.

[0142] Z1=a Z coordinate along the line L1 relative to the z axis of the first coordinate system.

[0143] Mxo=a slope of the line Lo as a function of Zo.

[0144] Myo=a slope of the line Lo as a function of Zo.

[0145] Mx1=a slope of the line L1 as a function of Z1.

[0146] My1=a slope of the line L1 as a function of Z1.

[0147] Cxo=a constant which represents the intersection of the line Lo and the x axis of the first coordinate system.

[0148] Cyo=a constant which represents the intersection of the line Lo and the y axis of the first coordinate system.

[0149] Cx1=a constant which represents the intersection of the L1 and the x axis of the first coordinate system.

[0150] Cy1=a constant which represents the intersection of the line L1 and the y axis of the first coordinate system.

[0151] The slopes are computed using the following algorithms:

Mxo=Uxo/Uzo

Myo=Uyo/Uzo

Mx1=Ux1/Uz1

My1=Uy1/Uz1

Cx 0=Pox−Mx 1·Poz

Cy 0=Poy−My 1·Poz

Cx 1=P 1 x−Mx 1·P 1 z

Cy 1=P 1 y−My 1·P 1 z

[0152] where;

[0153] Uo(x, y and z)=the unit vectors of the instrument in the first position within the first coordinate system.

[0154] U1(x, y and z)=the unit vectors of the instrument in the second position within the first coordinate system.

[0155] Po(x, y and z)=the coordinates of the intersection of the end effector and the instrument in the first position within the first coordinate system.

[0156] P1(x, y and z)=the coordinates of the intersection of the end effector and the instrument in the second position within the first coordinate system.

[0157] To find an approximate pivot point location, the pivot points of the instrument in the first orientation Lo (pivot point Ro) and in the second orientation L1 (pivot point R1) are determined, and the distance half way between the two points Ro and R1 is computed and stored as the pivot point R_(ave) of the instrument. The pivot point R_(ave) is determined by using the cross-product vector T.

[0158] To find the points Ro and R1 the following equalities are set to define a line with the same orientation as the vector T that passes through both Lo and L1.

tx=Tx/Tz

ty=Ty/Tz

[0159] where;

[0160] tx=the slope of a line defined by vector T relative to the Z-x plane of the first coordinate system.

[0161] ty=the slope of a line defined by vector T relative to the Z-y plane of the first coordinate system.

[0162] Tx=the x component of the vector T.

[0163] Ty=the y component of the vector T.

[0164] Tz=the z component of the vector T.

[0165] Picking two points to determine the slopes Tx, Ty and Tz (eg. Tx=x1−xo, Ty=y1−yo and Tz=z1−zO) and substituting the line equations Lo and L1, provides a solution for the point coordinates for Ro (xo, yo, zo) and R1 (x1, y1, z1) as follows.

zo=((Mx 1−tx)z 1+Cx 1−Cxo)/(Mxo−tx)

z 1=((Cy 1−Cyo)(Mxo−tx)−(Cx 1−Cxo)(Myo−ty))/((Myo−ty)(Mx 1−tx)−(My 1−ty)(Mxo−tx))

yo=Myo·zo+Cyo

y 1=My 1·z 1+Cy 1

xo=Mxo·zo+Cxo

x 1=Mx 1·z 1+Cx 1

[0166] The average distance between the pivot points Ro and R1 is computed with the following equation and stored as the pivot point of the instrument.

R _(ave)=((x 1+xo)/2, (y 1+yo)/2, (z 1+zo)/2)

[0167] The pivot point can be continually updated with the above described algorithm routine. Any movement of the pivot point can be compared to a threshold value and a warning signal can be issued or the robotic system can become disengaged if the pivot point moves beyond a set limit. The comparison with a set limit may be useful in determining whether the patient is being moved, or the instrument is being manipulated outside of the patient, situations which may result in injury to the patient or the occupants of the operating room.

[0168]FIGS. 17 and 18 show the linear actuator 24 of the robotic arm assembly 16 coupled to a cart 200. The cart 200 may have shelves (not shown) which store the computer of the system. The cart 200 has wheels 202 that allow the operator to move the assembly to and from an operating table 204. The robotic assembly 16 is attached to the operating table 204 by a mounting assembly 206. The mounting assembly 206 includes a mounting plate 208 which has a pair of L shaped rigid clamp portions 210 and a pair of pivot clamps 212 that are pivotally connected to the plate 208. Conventional operating tables 204 have hand rails 214 that extend from the sides of the bed 204. The clamps 212 are adapted to grasp the hand rails 214 and mount the robotic assembly 206 to the table 204.

[0169] FIGS. 19-23 show a preferred embodiment of the mounting assembly 206. Each pivot clamp 212 is coupled to the mounting plate 208 by a pivot pin 216. The pivot clamps 212 are biased into a closed position by a clamp spring 218 that is secured at each end by spring pins 220 which extend into the mounting plate 208.

[0170] The mounting assembly 206 has screws 222 which extend through the mounting plate 208. At one end of each screw 222 is a knob 224 that allows the operator to rotate the screw 222. At the opposite end of each screw 222 is a threaded head 226 which cooperates with a threaded aperture 227 within the plate 208. The mounting plate 208 has a back plate 260 attached to a front plate 262 by a dowel pin 264 and a screw 266. As shown in FIG. 23, the end of the head 226 engages and applies a pressure to the hand rail 214 to further secure the robotic assembly 16 to the table 204.

[0171] Each screw 222 has a cam surface 228 which engages a pin 230 located within the mounting plate 208. The pin 230 also engages the pivot clamp 212. When the screw 222 is moved away from the hand rail 214, the cam surface 228 pushes the pin 230 in a downward direction as shown in FIG. 22. The downward movement of the pin 230 rotates the pivot clamp 212 in a counterclockwise direction away from the hand rail 214, disengaging the mounting assembly 206 from the table 204. When the screw 222 is screwed back toward the hand rail 214, the spring 218 rotates the clamp 212 back into engagement with the rail 214. The movement of the screw 222, moves the cam surface 228 and allows the pin 230 to move in an upward direction.

[0172] Referring to FIG. 17, the cart 200 has a pair of flange plates 234 located at each side of the linear actuator 24. Each flange plate 234 has a pair of ears 236 separated by a slot 238. As shown in FIG. 22, the clamping mechanism 206 has a cart clamp 240. The cart clamp 240 has a bore 242 that allows the screw 222 to extend therethrough. The cart clamp 240 also has a shoulder 244 with an outer diameter larger than the width of the flange slot 238. Moving the screws away from the hand rail 214 presses the cart clamps 240 into the flange plates 234 and secures the mounting plate 208 and robotic assembly 16 to the cart 200. When the screws 222 are screwed toward the hand rail 214, the cart clamps 240 are released from the flange plates 238 and the mounting plate 208 is allowed to move relative to the cart 200. The clamping mechanism 206 may include a spring 245 that biases the clamp 240 away from the flange 234. Detaching the mounting plate 208 from the cart 220 when the pivot clamp 212 is grasping the hand rail 214, allows the plate 208 to float and compensating for any lack of colinearity between the table 204 and the cart 200.

[0173]FIGS. 20 and 21 show the linear actuator 24 coupled to the mounting plate 208. The assembly includes a screw 246 that has a threaded shaft 247 which extends through an arcuate shaped slot 248 in the mounting plate 208 and screws into a threaded aperture 249 in the linear actuator 24. The mount screw 246 that may have a shoulder 250 or a washer (not shown) which is pressed against the mounting plate 208. The actuator 24 is attached to the mounting plate 208 by a wavy spring 252 that is captured by a lid 254 and a plurality of screws 256 that are inserted in on opening 258 of the mounting plate 208. The operator can rotate the robotic assembly 16 relative to the operating table by unscrewing the screw 246 and moving the actuator 24 and threaded shaft 247 along the arcuate shaped slot 248 of the mounting plate 208. Rotation of the robotic assembly allows the operator to move and properly align the arm of the system.

[0174] In operation, the cart 200 is wheeled up to the table 204 such that the top L shaped clamp portions 210 of the mounting assembly 206 grab the hand rail 214. As shown in FIG. 23, the screws 222 are screwed further into the mounting plate 208 to allow the springs 218 to pull the pivot clamps 212 into engagement with the hand rail 214. The movement of the screw 222 also releases the mounting plate 208 from the cart 200. The orientation of the robotic assembly 16 can be varied by unscrewing the mount screw 246 and moving the linear actuator 24 along the arcuate slot of the mounting plate 208, and then tightening the screw 246.

[0175] As shown in FIG. 22, after the surgical procedure, the screws 222 can be screwed away from the table 204, so that the pivot clamps 212 rotate away from the hand rail 214 and the cart clamps 240 become secured to the cart 200. The cart 200 can then be wheeled away for future use. The mounting assembly and cart of the present invention provide mobility for the robotic assembly and allow the system to be easily stored and transported to various surgical fields.

[0176] FIGS. 24-28 show an alternate embodiment of the clamping mechanism. The mechanism includes a handle 280 that is attached to the clamp pin 216. Rotation of the handle 280 rotates the pivot clamp 212. This embodiment does not use the pin 230, spring 218 and screw cam surface 228 of the embodiment shown in FIGS. 17-23 to move the pivot claims 212. The pin 216 is coupled to a torsion spring 282 that is captured by grooves 284 and 286 in the mounting plate 208 and handle 280, respectively. The torsion spring 282 biases the pivot clamp 212 into engagement with the handle rail 214. The handle 280 has a ball detent screw 288 that is pressed into a detent hold 290 in the mounting plate 208, to maintain the handle 280 in an open position. Alternatively, both the mounting plate 208 and handle 260 may have attractive magnets (not shown) which maintain the pivot clamp 212 in a position away from the hand rail 214. To clamp the mounting plate 208 to the hand rail 214, the operator pushes the handle 280 until the ball detent screw 288 is separated from the mounting plate 208 and the spring 282 snaps the pivot clamp 212 onto the rail 214. The pivot clamp 212 is disengaged by manually rotating the handle 280 to the open position and resetting the ball detent screw 288 into the detent hole 290.

[0177] While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that this invention not be limited to the specific constructions and arrangements shown and described, since various other modifications may occur to those ordinarily skilled in the art. 

What is claimed is:
 1. A method for allowing a user to remotely control a movement of a surgical instrument having a tip, the method comprising the steps: a) establishing an original position of the instrument tip; b) inputting a command provided by a user to move the surgical instrument in a desired direction relative to an object displayed on a display device; c) computing an incremental movement of the surgical instrument based on the command provided by the user and on the original position of the instrument; d) moving the instrument in the desired direction so that the surgical instrument tip always moves in the direction commanded by the user.
 2. A method for using a robotic system having a plurality of linkage arms to remotely control the movement of a surgical instrument having a tip, the method comprising the steps: a) read the joint angles of a robot having a surgical instrument attached thereto and computing the forward kinematics; b) detect a move command; c) determine movement direction and establish appropriate incremental movement in a double prime coordinate system; d) transform incremental movement in double prime coordinate system to incremental movement in a single prime system; e) transform incremental movement in single prime coordinate system to incremental movement in a world coordinate system; f) add incremental movement to current position; g) compute new angles for robotic linkage arms; h) move robotic assembly to new positions; i) compute new pi value; j) move to new orientation.
 3. A method for using a robotic system having a plurality of linkage arms to remotely control the movement of a surgical instrument having a tip, the method comprising the steps: a) read the joint angles of a robot having a surgical instrument attached thereto and computing the forward kinematics; b) detect a move command; c) determine movement direction and establish appropriate incremental movement in a double prime coordinate system having an x, y and z axis; d) transform incremental movement in double prime coordinate system to incremental movement in a single prime system having an x, y and z axis; e) transform incremental movement in single prime coordinate system to incremental movement in a world coordinate system having an x, y and z axis; f) add incremental movement to current position; g) compute new angles for robotic linkage arms; h) move robotic assembly to new positions; i) compute new pi value; j) move to new orientation.
 4. The method of claim 3 wherein the surgical instrument defines the double prime coordinate system.
 5. The method of claim 4 wherein the surgical instrument is located within a triple prime coordinate system having an x, y and z axis.
 6. The method of claim 5 further including the steps of computing an angle of rotation of the surgical instrument such that the double prime x axis is orthogonal to a cross-product of a vector of the double prime z axis and a vector of the triple prime z axis, and rotating the surgical instrument the computed angle of rotation.
 7. The method of claim 1 wherein the step of inputting a command comprises a save command.
 8. The method of claim 1 wherein the step of inputting a command comprises a return command.
 9. The method of claim 3 wherein the step of detecting a move command comprises detecting a return command.
 10. The method of claim 2 wherein the step of detecting a move command comprises detecting a return command. 